package com.geovis.emergency.spd.biz.app.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.geovis.common.mybatis.page.PageParam;
import com.geovis.common.mybatis.page.PageResult;
import com.geovis.emergency.spd.biz.agora.AgoraTokenDTO;
import com.geovis.emergency.spd.entity.app.dto.AppDiscussDTO;
import com.geovis.emergency.spd.entity.app.dto.AppDiscussSaveDTO;
import com.geovis.emergency.spd.entity.app.entity.AppDiscuss;
import com.geovis.emergency.spd.entity.app.enums.AppDiscussTypeEnum;
import com.geovis.emergency.spd.entity.pc.entity.PcDiscuss;
import com.geovis.emergency.spd.entity.pc.pojo.dto.PcDiscussDTO;
import com.geovis.emergency.spd.entity.pc.pojo.dto.PcDiscussQueryDTO;
import com.geovis.emergency.spd.entity.pc.pojo.dto.PcDiscussSaveDTO;

import java.util.List;

/**
 * <p>
 * 应急处置app-研判会商 服务类
 * </p>
 *
 * @author 曾德实
 * @since 2022-05-01
 */
public interface AppDiscussService extends IService<AppDiscuss> {

    /**
     * 保存研判会商
     *
     * @param saveDTO
     */
    void save(AppDiscussSaveDTO saveDTO);

    /**
     * 加入会议
     *
     * @param pcDiscussId 会议id
     * @return 返回声望tokenId
     */
    AgoraTokenDTO join(String appDiscussId);


    /**
     * 结束会议
     *
     * @param pcDiscussId 会议id
     */
    void finish(String appDiscussId);

    /**
     * 离开会议
     *
     * @param pcDiscussId 会议id
     */
    void leave(String pcDiscussId);

    /**
     * 查询会议列表
     * @param queryDTO
     * @return
     */
    List<AppDiscussDTO> getList(AppDiscussTypeEnum discussType);


}
